\hypertarget{classCube}{
\section{Cube Class Reference}
\label{classCube}\index{Cube@{Cube}}
}
Classe derivee de la classe \hyperlink{classEcoAgent}{EcoAgent} designant un \hyperlink{classCube}{Cube}.  


{\tt \#include $<$cube.hpp$>$}

Inherits \hyperlink{classEcoAgent}{EcoAgent}.

Collaboration diagram for Cube:\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classCube_06f3d86fb63e3aad08623610aa3c17b4}{Cube} ()
\begin{CompactList}\small\item\em Constructeur. \item\end{CompactList}\item 
\hyperlink{classCube_4793068a114fd49b51233e8f81884189}{Cube} (const \hyperlink{classEcoAgentID}{EcoAgentID} \&id)
\begin{CompactList}\small\item\em Constructeur. \item\end{CompactList}\item 
\hyperlink{classCube_a814e979cecb8c451fdb332ded2cea1e}{$\sim$Cube} ()
\begin{CompactList}\small\item\em Destructeur. \item\end{CompactList}\item 
\hypertarget{classCube_c81ac3b8da58ba8463d72e3a0433bafa}{
void \hyperlink{classCube_c81ac3b8da58ba8463d72e3a0433bafa}{rechercherFuite} ()}
\label{classCube_c81ac3b8da58ba8463d72e3a0433bafa}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il cherche a fuir Le comportement de recherche de fuite est le suivant : le cube determine s'il a un geneur (un \hyperlink{classEcoAgent}{EcoAgent} au dessus de lui ou au dessus de sa position finale). S'il possede un geneur, il l'agresse, sinon il fuit. \item\end{CompactList}\item 
\hypertarget{classCube_10f69d54f313f48ac0c8468628ac6902}{
void \hyperlink{classCube_10f69d54f313f48ac0c8468628ac6902}{rechercherSatisfaction} ()}
\label{classCube_10f69d54f313f48ac0c8468628ac6902}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il cherche a se satisfaire Le comportement de recherche de satisfaction est le suivant : le cube determine s'il a un geneur (un \hyperlink{classEcoAgent}{EcoAgent} au dessus de lui ou au dessus de sa position finale). S'il possede un geneur, il l'agresse, sinon il se satisfait. \item\end{CompactList}\item 
void \hyperlink{classCube_85556598281efcfa925dd4ef4c8acba5}{agresser} (\hyperlink{classEcoAgent}{EcoAgent} \&a)
\begin{CompactList}\small\item\em Suite d'operations realisees lorsque le cube agresse un autre eco-agent. \item\end{CompactList}\item 
\hypertarget{classCube_a9af44bff02fb06ac5be83f4c041fe57}{
void \hyperlink{classCube_a9af44bff02fb06ac5be83f4c041fe57}{estAgresse} ()}
\label{classCube_a9af44bff02fb06ac5be83f4c041fe57}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il est agressee Lorsque le cube est agresse, il passe son Etat en RECHERCHEFUITE. \item\end{CompactList}\item 
\hypertarget{classCube_ce1011f5a33ce211d5ca44e029f59224}{
void \hyperlink{classCube_ce1011f5a33ce211d5ca44e029f59224}{faireFuite} ()}
\label{classCube_ce1011f5a33ce211d5ca44e029f59224}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il fuit Si le cube est agresse par le cube qui est sa position finale ou alors que sa position finale n'est pas satisfaite alors le cube fuit sur la table. Sinon le cube fuit en allant directement sur le cube qui est sa position finale. \item\end{CompactList}\item 
\hypertarget{classCube_1fec2199edab8e6cfdb3685256d2cdec}{
void \hyperlink{classCube_1fec2199edab8e6cfdb3685256d2cdec}{faireSatisfaction} ()}
\label{classCube_1fec2199edab8e6cfdb3685256d2cdec}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il se satisfait Le cube se deplace sur sa position finale et passe sont Etat a SATISFAIT. \item\end{CompactList}\item 
void \hyperlink{classCube_6687c2575f4ce927f6b3032fb46040eb}{initialiser} ()
\begin{CompactList}\small\item\em Initialisation de l'etat du cube. \item\end{CompactList}\item 
\hypertarget{classCube_9289a4d72b849b7f868b189f531daa62}{
void \hyperlink{classCube_9289a4d72b849b7f868b189f531daa62}{agir} ()}
\label{classCube_9289a4d72b849b7f868b189f531daa62}

\begin{CompactList}\small\item\em Suite d'operations realisees par le cube lorsqu'il agit Le cube determine comment il doit agir en fonction de son Etat. S'il est en RECHERCHESATISFACTION il execute \hyperlink{classCube_10f69d54f313f48ac0c8468628ac6902}{rechercherSatisfaction()}, s'il est en RECHERCHEFUITE il execute \hyperlink{classCube_c81ac3b8da58ba8463d72e3a0433bafa}{rechercherFuite()}. \item\end{CompactList}\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
\hypertarget{classCube_73f4a43d36e6b84403eceeebfdf68c56}{
ostream \& \hyperlink{classCube_73f4a43d36e6b84403eceeebfdf68c56}{operator$<$$<$} (ostream \&f, const \hyperlink{classCube}{Cube} \&c)}
\label{classCube_73f4a43d36e6b84403eceeebfdf68c56}

\begin{CompactList}\small\item\em Suite d'operations permettant d'afficher des informations sur le cube Affichage d'information sur le cube comme son \hyperlink{classEcoAgentID}{EcoAgentID}, sont Etat et ses positions initiale et finale. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Classe derivee de la classe \hyperlink{classEcoAgent}{EcoAgent} designant un \hyperlink{classCube}{Cube}. 

Un \hyperlink{classCube}{Cube} s'execute generalement dans une \hyperlink{classPlateformeMondeDesCubes}{PlateformeMondeDesCubes} afin de resoudre le probleme du monde des cubes. Un cube peut etre pose sur une \hyperlink{classTable}{Table}, un autre \hyperlink{classCube}{Cube} et plus generalement un autre \hyperlink{classEcoAgent}{EcoAgent} en rapport avec le probleme du monde des cubes. Cette classe determine les comportements d'un \hyperlink{classCube}{Cube} quand il doit agir dans le cadre d'une eco-resolution (fuite, satisfaction, agression). 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classCube_06f3d86fb63e3aad08623610aa3c17b4}{
\index{Cube@{Cube}!Cube@{Cube}}
\index{Cube@{Cube}!Cube@{Cube}}
\subsubsection[{Cube}]{\setlength{\rightskip}{0pt plus 5cm}Cube::Cube ()}}
\label{classCube_06f3d86fb63e3aad08623610aa3c17b4}


Constructeur. 

Constructeur de la classe \hyperlink{classCube}{Cube} par defaut. Le cube recevra un \hyperlink{classEcoAgentID}{EcoAgentID} automatiquement genere. \hypertarget{classCube_4793068a114fd49b51233e8f81884189}{
\index{Cube@{Cube}!Cube@{Cube}}
\index{Cube@{Cube}!Cube@{Cube}}
\subsubsection[{Cube}]{\setlength{\rightskip}{0pt plus 5cm}Cube::Cube (const {\bf EcoAgentID} \& {\em id})}}
\label{classCube_4793068a114fd49b51233e8f81884189}


Constructeur. 

Constructeur de la classe \hyperlink{classCube}{Cube} avec un \hyperlink{classEcoAgentID}{EcoAgentID} specifique

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em id}]: identifiant unique que l'agent se verra attribuer \end{description}
\end{Desc}
\hypertarget{classCube_a814e979cecb8c451fdb332ded2cea1e}{
\index{Cube@{Cube}!$\sim$Cube@{$\sim$Cube}}
\index{$\sim$Cube@{$\sim$Cube}!Cube@{Cube}}
\subsubsection[{$\sim$Cube}]{\setlength{\rightskip}{0pt plus 5cm}Cube::$\sim$Cube ()}}
\label{classCube_a814e979cecb8c451fdb332ded2cea1e}


Destructeur. 

Destructeur de la classe \hyperlink{classCube}{Cube} 

\subsection{Member Function Documentation}
\hypertarget{classCube_85556598281efcfa925dd4ef4c8acba5}{
\index{Cube@{Cube}!agresser@{agresser}}
\index{agresser@{agresser}!Cube@{Cube}}
\subsubsection[{agresser}]{\setlength{\rightskip}{0pt plus 5cm}void Cube::agresser ({\bf EcoAgent} \& {\em a})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classCube_85556598281efcfa925dd4ef4c8acba5}


Suite d'operations realisees lorsque le cube agresse un autre eco-agent. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em a}]: \hyperlink{classEcoAgent}{EcoAgent} a agresser \end{description}
\end{Desc}


Implements \hyperlink{classEcoAgent_867f0c274eb3ed0b61cb1fe7baa67edd}{EcoAgent}.\hypertarget{classCube_6687c2575f4ce927f6b3032fb46040eb}{
\index{Cube@{Cube}!initialiser@{initialiser}}
\index{initialiser@{initialiser}!Cube@{Cube}}
\subsubsection[{initialiser}]{\setlength{\rightskip}{0pt plus 5cm}void Cube::initialiser ()\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classCube_6687c2575f4ce927f6b3032fb46040eb}


Initialisation de l'etat du cube. 

Cette methode permet d'initialiser l'etat du cube en prenant en compte sa position courante et sa position finale. Par exemple, si la position courante correspond a la position finale, cette methode initialisera l'Etat a SATISFAIT. 

Implements \hyperlink{classEcoAgent_f779fd214bed010d0f6b7b137fde7116}{EcoAgent}.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
trunk/include/\hyperlink{cube_8hpp}{cube.hpp}\item 
trunk/src/cube.cpp\end{CompactItemize}
